Van Gisbergen led at the final restart but was pushed wide by Austin Hill and dropped to third for a handful of corners.
The Kaulig Racing driver returned the favour by pushing Hill off the track on the final lap but a resurgent Kyle Larson went past both of them to snatch victory.
UPDATE: Van Gisbergen loses second place due to penalty
Van Gisbergen had inherited pole position when Larson was sent to the rear of the grid after unapproved adjustments to address a braking problem for the #17 Hendrick Motorsports Chevrolet.
The #97 Chevrolet was not alone on the front row, of course, but van Gisbergen was in control of the start and accelerated early in the start/restart zone to take a clear lead to the first corner.
It was a one-two once AJ Allmendinger (#16 Chevrolet) prevailed in a Lap 1 battle with Chandler Smith, whose #81 Joe Gibbs Racing Toyota was pushed into a spin by Sammy Smith (#8 JR Motorsports Chevrolet) at Turn 16 in what appeared to be a concertina effect.
The Kaulig team-mates were gapping the field at will and, at the halfway mark of the 14-lap opening stage, van Gisbergen’s lead was 0.7s and Allmendinger was 7.6s up on third-placed Parker Kligerman (#48 Big Machine Racing Chevrolet), who had not long passed Sage Karam (#26 Sam Hunt Racing Toyota).
A mistake from van Gisbergen on Lap 10 at Turn 8 was a gift to Allmendinger, who grabbed the lead at the Turn 11 hairpin, but they were still running about 10 seconds up on third place.
Several pitted on Lap 11, with an eye to the lane closing ahead of the stage break, as did the top two on Lap 12.
Van Gisbergen stalled on the way out of his pit bay, which would cost him a Playoff point given the Kaulig pace-setters ended the stage in eighth and 10th at the conclusion of Lap 14, at which point Kligerman led.
Once the lane reopened, Allmendinger filtered back up to first position, from van Gisbergen and Larson, and they took the green flag again at the start of Lap 18.
Van Gisbergen took a very wide berth for Turn 1 but got stuck wide and dropped to fifth, as Allmendinger held on to top spot.
He regained one spot with a move on Jesse Love (#2 Richard Childress Racing Chevrolet) once the field got back to Turn 20, by which time Allmendinger was already several tenths clear of the rest.
Ty Gibbs (#19 JGR Toyota), who had already served a penalty, went down the inside of second-placed Larson at Turn 11 on Lap 19 but could not make the move stick.
Van Gisbergen ranged up on the outside of Gibbs at Turn 1 on Lap 22 and then pulled a big criss-cross on the #19 Camry to steal third, by which time Allmendinger was four seconds up the road, and leading Larson by 2.8s.
By Lap 26, however, the top three were nose-to-tail, with literally nothing separating them as they all made contact through the Turn 17/Turn 18/Turn 19 complex, with van Gisbergen snatching second place from Larson.
It was thus Allmendinger heading van Gisbergen and Larson into the pits at the end of Lap 28, as they set up for the end of the stage, but the latter reclaimed second place in the lane.
Brandon Jones (#9 JRM Chevrolet) clinched the stage victory at the end of Lap 30, at which point Allmendinger, Larson, and van Gisbergen filled fourth through sixth.
Allmendinger and van Gisbergen shared the front row for the start of Stage 3, with a dozen laps to go of a scheduled 46.
Again, the latter lost position when he ended up wide at the top of the steep Turn 1, but re-passed Larson at the bottom of the hill at Turn 11.
Three laps later, there was a reversal of the initial lead change when an Allmendinger error allowed van Gisbergen to pinch first position at Turn 11.
Allmendinger tried to fight back at the other end of the back straight but could not unsettle the Kiwi.
Van Gisbergen led by a full second after 39 laps but there was a scare when Patrick Gallagher (#4 JD Motorsports Chevrolet) found the gravel, although he was able to drive out and save a Caution.
Car #97 was a full two seconds up on Car #16 with five to go, by which time Larson had dropped to fifth after flatspotting a tyre.
The Caution did come on Lap 42 when Ed Jones (#24 Sam Hunt Toyota) stopped off the side of the track after being punted by Kyle Weatherman (#91 DGM Racing Chevrolet).
Larson took the opportunity to pit and rid himself of the damaged tyre while Allmendinger chose the inside of Row 2 for the restart, leaving van Gisbergen and Gibbs at the head of the field for the Overtime restart.
When they took the green, Allmendinger lunged between #97 and the #19 Toyota but van Gisbergen drove his team-mate wide at Turn 1 and emerged in the lead from Austin Hill (#21 RCR Chevrolet), Kligerman, Sam Mayer (#1 JRM Chevrolet), and Allmendinger.
A crash in the back of the pack at Turn 11 brought the field under yellow again, and then there was another blow for Allmendinger when he was issued a penalty for cutting a corner and sent to the back.
When the second Overtime restart came, Hill pushed van Gisbergen wide at Turn 1 and nabbed the lead.
SVG dropped to third, behind Karam, but at least reclaimed second place in the slalom section.
On the final lap, #21, #97, and #17 were nose-to-tail, with the latter on fresh tyres.
Van Gisbergen hit the rear of Hill’s car into Turn 16 and pushed Car #16 wide, but he also ran off the ideal line and Larson pounced.
Larson held the advantage to the flag while SVG and Hill continued to battle until the finish line.
Behind the top three was John Hunter Nemechek (#20 JGR Toyota), from Cole Custer (#00 SHR Ford), and Kligerman.